#ifndef GFX_H 
#define GFX_H 

void initSDL(const unsigned int, const unsigned int, const unsigned int); 

void sLock(SDL_Surface*);

void sUlock(SDL_Surface*);

void drawSurface(SDL_Surface*, const unsigned int, const unsigned int,
                 const unsigned int, const unsigned int, const unsigned int,
                 const unsigned int);

void drawSurface(SDL_Surface*, const unsigned int, const unsigned int);

void drawSurface(SDL_Surface*, const unsigned int, const unsigned int,
                 const unsigned char);

void drawToTile(SDL_Surface* surface, const unsigned int x,
                const unsigned int y, const unsigned char alpha);

void drawToTile(SDL_Surface* surface, const unsigned int x,
                const unsigned int y);

SDL_Surface* loadBitmap(const char*);

Uint32 getPixel(SDL_Surface*, const unsigned int, const unsigned int);

void putPixel(SDL_Surface*, const unsigned int, const unsigned int,
              const Uint32);

void fillRect(SDL_Surface*, const unsigned int, const unsigned int,
              const unsigned int, const unsigned int, const unsigned int);

void untintScreen();

SDL_Surface* tint(SDL_Surface*, const signed char, const signed char,
                  const signed char);

void tintTile(const unsigned int, const unsigned int);

#endif // GFX_H
